GekkoCPUOpsGroup(4XO0)[] =
{
	{0, GekkoCPUOp(PS_CMPU0)},
	{32, GekkoCPUOp(PS_CMPO0)},
	{40, GekkoCPUOp(PS_NEG)},
	{64, GekkoCPUOp(PS_CMPU1)},
	{72, GekkoCPUOp(PS_MR)},
	{96, GekkoCPUOp(PS_CMPO1)},
	{264, GekkoCPUOp(PS_ABS)},
	{528, GekkoCPUOp(PS_MERGE00)},
	{560, GekkoCPUOp(PS_MERGE01)},
	{592, GekkoCPUOp(PS_MERGE10)},
	{624, GekkoCPUOp(PS_MERGE11)},
	{640, GekkoCPUOp(PS_CMPU0)},
	{1014, GekkoCPUOp(DCBZ_L)},
	{-1, 0}
};

GekkoCPUOpsGroup(4)[] =
{
	{0, GekkoCPUOp(Ops_Group4XO0)},
	{6, GekkoCPUOp(PSQ_LX)},
	{7, GekkoCPUOp(PSQ_STX)},
	{8, GekkoCPUOp(Ops_Group4XO0)},
	{10, GekkoCPUOp(PS_SUM0)},
	{11, GekkoCPUOp(PS_SUM1)},
	{12, GekkoCPUOp(PS_MULS0)},
	{13, GekkoCPUOp(PS_MULS1)},
	{14, GekkoCPUOp(PS_MADDS0)},
	{15, GekkoCPUOp(PS_MADDS1)},
	{16, GekkoCPUOp(Ops_Group4XO0)},
	{18, GekkoCPUOp(PS_DIV)},
	{20, GekkoCPUOp(PS_SUB)},
	{21, GekkoCPUOp(PS_ADD)},
	{22, GekkoCPUOp(Ops_Group4XO0)},
	{23, GekkoCPUOp(PS_SEL)},
	{24, GekkoCPUOp(PS_RES)},
	{25, GekkoCPUOp(PS_MUL)},
	{26, GekkoCPUOp(PS_RSQRTE)},
	{28, GekkoCPUOp(PS_MSUB)},
	{29, GekkoCPUOp(PS_MADD)},
	{30, GekkoCPUOp(PS_NMSUB)},
	{31, GekkoCPUOp(PS_NMADD)},
	{38, GekkoCPUOp(PSQ_LUX)},	//
	{39, GekkoCPUOp(PSQ_STUX)},	//
	{-1, 0}
};
GekkoCPUOpsGroup(19)[] =
{
	{0, GekkoCPUOp(MCRF)},
	{16, GekkoCPUOp(BCLRX)},
	{33, GekkoCPUOp(CRNOR)},
	{50, GekkoCPUOp(RFI)},
	{129, GekkoCPUOp(CRANDC)},
	{150, GekkoCPUOp(ISYNC)},
	{193, GekkoCPUOp(CRXOR)},
	{225, GekkoCPUOp(CRNAND)},
	{257, GekkoCPUOp(CRAND)},
	{289, GekkoCPUOp(CREQV)},
	{417, GekkoCPUOp(CRORC)},
	{449, GekkoCPUOp(CROR)},
	{528, GekkoCPUOp(BCCTRX)},
	{-1, 0}
};

GekkoCPUOpsGroup(31)[] =
{
	{0, GekkoCPUOp(CMP)},
	{4, GekkoCPUOp(TW)},
	{8, GekkoCPUOp(SUBFC)},
	{8 | OE_T, GekkoCPUOp(SUBFCO)},
	{10, GekkoCPUOp(ADDC)},
	{10 | OE_T, GekkoCPUOp(ADDCO)},
	{11, GekkoCPUOp(MULHWU)},
	{19, GekkoCPUOp(MFCR)},
	{20, GekkoCPUOp(LWARX)},
	{23, GekkoCPUOp(LWZX)},
	{24, GekkoCPUOp(SLW)},
	{26, GekkoCPUOp(CNTLZW)},
	{28, GekkoCPUOp(AND)},
	{32, GekkoCPUOp(CMPL)},
	{35, GekkoCPUOp(LWZUX)},
	{40, GekkoCPUOp(SUBF)},
	{40 | OE_T, GekkoCPUOp(SUBFO)},
	{54, GekkoCPUOp(DCBST)},
	{55, GekkoCPUOp(LWZUX)},		//
	{60, GekkoCPUOp(ANDC)},
	{75, GekkoCPUOp(MULHW)},
	{83, GekkoCPUOp(MFMSR)},
	{86, GekkoCPUOp(DCBF)},
	{87, GekkoCPUOp(LBZX)},
	{104, GekkoCPUOp(NEG)},
	{104 | OE_T, GekkoCPUOp(NEGO)},
	{119, GekkoCPUOp(LBZUX)},
	{124, GekkoCPUOp(NOR)},
	{136, GekkoCPUOp(SUBFE)},
	{136 | OE_T, GekkoCPUOp(SUBFEO)},
	{138, GekkoCPUOp(ADDE)},
	{138 | OE_T, GekkoCPUOp(ADDEO)},
	{144, GekkoCPUOp(MTCRF)},			
	{146, GekkoCPUOp(MTMSR)},
	{151, GekkoCPUOp(STWX)},
	{183, GekkoCPUOp(STWUX)},
	{200, GekkoCPUOp(SUBFZE)},
	{202, GekkoCPUOp(ADDZE)},
	{202 | OE_T, GekkoCPUOp(ADDZEO)},
	{210, GekkoCPUOp(MTSR)},
	{215, GekkoCPUOp(STBX)},
	{232, GekkoCPUOp(SUBFME)},
	{232 | OE_T, GekkoCPUOp(SUBFMEO)},
	{234, GekkoCPUOp(ADDME)},
	{234 | OE_T, GekkoCPUOp(ADDMEO)},
	{235, GekkoCPUOp(MULLW)},
	{235 | OE_T, GekkoCPUOp(MULLWO)},
	{242, GekkoCPUOp(MTSRIN)},
	{246, GekkoCPUOp(DCBTST)},
	{247, GekkoCPUOp(STBUX)},
	{266, GekkoCPUOp(ADD)},
	{266 | OE_T, GekkoCPUOp(ADDO)},
	{278, GekkoCPUOp(DCBT)},
	{279, GekkoCPUOp(LHZX)},
	{284, GekkoCPUOp(EQV)},
	{306, GekkoCPUOp(TLBIE)},
	{311, GekkoCPUOp(LHZUX)},
	{316, GekkoCPUOp(XOR)},
	{339, GekkoCPUOp(MFSPR)},
	{343, GekkoCPUOp(LHAX)},
	{370, GekkoCPUOp(TLBIA)},
	{371, GekkoCPUOp(MFTB)},
	{407, GekkoCPUOp(STHX)},
	{412, GekkoCPUOp(ORC)},
	{439, GekkoCPUOp(STHUX)},
	{444, GekkoCPUOp(OR)},
	{459, GekkoCPUOp(DIVWU)},
	{467, GekkoCPUOp(MTSPR)},
	{470, GekkoCPUOp(DCBI)},
	{476, GekkoCPUOp(NAND)},
	{491, GekkoCPUOp(DIVW)},
	{491 | OE_T, GekkoCPUOp(DIVWO)},
	{512, GekkoCPUOp(MCRXR)},
	{533, GekkoCPUOp(LSWX)},
	{534, GekkoCPUOp(LWBRX)},
	{535, GekkoCPUOp(LFSX)},
	{536, GekkoCPUOp(SRW)},
	{566, GekkoCPUOp(TLBSYNC)},
	{567, GekkoCPUOp(LFSUX)},
	{595, GekkoCPUOp(MFSR)},
	{597, GekkoCPUOp(LSWI)},
	{598, GekkoCPUOp(SYNC)},
	{599, GekkoCPUOp(LFDX)},
	{659, GekkoCPUOp(MFSRIN)},
	{631, GekkoCPUOp(LFDUX)},
	{661, GekkoCPUOp(STSWX)},
	{662, GekkoCPUOp(STWBRX)},
	{663, GekkoCPUOp(STFSX)},
	{695, GekkoCPUOp(STFSUX)},
	{725, GekkoCPUOp(STSWI)},
	{727, GekkoCPUOp(STFDX)},
	{759, GekkoCPUOp(STFDUX)},
	{790, GekkoCPUOp(LHBRX)},
	{792, GekkoCPUOp(SRAW)},
	{824, GekkoCPUOp(SRAWI)},
	{918, GekkoCPUOp(STHBRX)},
	{922, GekkoCPUOp(EXTSH)},
	{954, GekkoCPUOp(EXTSB)},
	{982, GekkoCPUOp(ICBI)},
	{983, GekkoCPUOp(STFIWX)},	//
	{1014, GekkoCPUOp(DCBZ)},
	{-1, 0}
};

GekkoCPUOpsGroup(59)[] =
{
	{18, GekkoCPUOp(FDIVS)},
	{20, GekkoCPUOp(FSUBS)},
	{21, GekkoCPUOp(FADDS)},
	{24, GekkoCPUOp(FRES)},
	{25, GekkoCPUOp(FMULS)},
	{28, GekkoCPUOp(FMSUBS)},
	{29, GekkoCPUOp(FMADDS)},
	{30, GekkoCPUOp(FNMSUBS)},
	{31, GekkoCPUOp(FNMADDS)},
	{-1, 0}
};

GekkoCPUOpsGroup(63XO0)[] =
{
	{38, GekkoCPUOp(MTFSB1)},
	{40, GekkoCPUOp(FNEG)},
	{72, GekkoCPUOp(FMR)},
	{70, GekkoCPUOp(MTFSB0)},
	{264, GekkoCPUOp(FABS)},
	{583, GekkoCPUOp(MFFS)},
	{711, GekkoCPUOp(MTFSF)},
	{136, GekkoCPUOp(FNABS)},
	{-1, 0}
};

GekkoCPUOpsGroup(63)[] =
{
	{0, GekkoCPUOp(FCMPU)},
	{6, GekkoCPUOp(Ops_Group63XO0)},
	{7, GekkoCPUOp(Ops_Group63XO0)},
	{8, GekkoCPUOp(Ops_Group63XO0)},
	{12, GekkoCPUOp(FRSP)},
	{14, GekkoCPUOp(FCTIW)},
	{15, GekkoCPUOp(FCTIWZ)},
	{18, GekkoCPUOp(FDIV)},
	{20, GekkoCPUOp(FSUB)},
	{21, GekkoCPUOp(FADD)},
	{23, GekkoCPUOp(FSEL)},
	{25, GekkoCPUOp(FMUL)},
	{26, GekkoCPUOp(FRSQRTE)},
	{28, GekkoCPUOp(FMSUB)},
	{29, GekkoCPUOp(FMADD)},
	{30, GekkoCPUOp(FNMSUB)},
	{31, GekkoCPUOp(FNMADD)},
	{-1, 0}
};

GekkoCPUOpsGroup(Main)[] =
{
	{2, GekkoCPUOp(TWI)},
	{3, GekkoCPUOp(HLE)},
	{4, GekkoCPUOp(Ops_Group4)},
	{7, GekkoCPUOp(MULLI)},
	{8, GekkoCPUOp(SUBFIC)},
	{10, GekkoCPUOp(CMPLI)},
	{11, GekkoCPUOp(CMPI)},
	{12, GekkoCPUOp(ADDIC)},
	{13, GekkoCPUOp(ADDICD)},
	{14, GekkoCPUOp(ADDI)},
	{15, GekkoCPUOp(ADDIS)},
	{16, GekkoCPUOp(BCX)},
	{17, GekkoCPUOp(SC)},
	{18, GekkoCPUOp(BX)},
	{19, GekkoCPUOp(Ops_Group19)},
	{20, GekkoCPUOp(RLWIMI)},
	{21, GekkoCPUOp(RLWINM)},
	{23, GekkoCPUOp(RLWNM)},
	{24, GekkoCPUOp(ORI)},
	{25, GekkoCPUOp(ORIS)},
	{26, GekkoCPUOp(XORI)},
	{27, GekkoCPUOp(XORIS)},
	{28, GekkoCPUOp(ANDID)},
	{29, GekkoCPUOp(ANDISD)},
	{31, GekkoCPUOp(Ops_Group31)},
	{32, GekkoCPUOp(LWZ)},
	{33, GekkoCPUOp(LWZU)},
	{34, GekkoCPUOp(LBZ)},
	{35, GekkoCPUOp(LBZU)},
	{36, GekkoCPUOp(STW)},
	{37, GekkoCPUOp(STWU)},
	{38, GekkoCPUOp(STB)},
	{39, GekkoCPUOp(STBU)},
	{40, GekkoCPUOp(LHZ)},
	{41, GekkoCPUOp(LHZU)},
	{42, GekkoCPUOp(LHA)},
	{43, GekkoCPUOp(LHAU)},
	{44, GekkoCPUOp(STH)},
	{45, GekkoCPUOp(STHU)},
	{46, GekkoCPUOp(LMW)},
	{47, GekkoCPUOp(STMW)},
	{48, GekkoCPUOp(LFS)},
	{49, GekkoCPUOp(LFSU)},
	{50, GekkoCPUOp(LFD)},
	{51, GekkoCPUOp(LFDU)},
	{52, GekkoCPUOp(STFS)},
	{53, GekkoCPUOp(STFSU)},
	{54, GekkoCPUOp(STFD)},
	{55, GekkoCPUOp(STFDU)},
	{56, GekkoCPUOp(PSQ_L)},
	{57, GekkoCPUOp(PSQ_LU)},
	{59, GekkoCPUOp(Ops_Group59)},
	{60, GekkoCPUOp(PSQ_ST)},
	{61, GekkoCPUOp(PSQ_STU)},
	{63, GekkoCPUOp(Ops_Group63)},
	{-1, 0}
};